﻿#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
//使用函数实现数组操作
//创建一个整形数组，完成对数组的操作
//1.实现函数init() 初始化数组为全0
//2.实现print()  打印数组的每个元素
//3.实现reverse()  函数完成数组元素的逆置。
//要求：自己设计以上函数的参数，返回值。

//1.打印数组
void print(int arr[],int sz)
{
	for (int a = 0; a < sz; a++)
	{
		printf("%d ", arr[a]);
	}
	printf("\n");
}
void print2(int arr[][5], int line)
{
	for (int a = 0; a < line; a++)//行
	{
		for (int b = 0; b < 5; b++)//列
		{
			printf("%d ", arr[a][b]);
		}
		printf("\n");//每打印完一行就换行
	}
}

//2.初始化数组(不打印)
void init(int arr[], int sz)
{
	for (int a = 0; a < sz; a++)
	{
		arr[a] = 0;
	}
}

//3.数组的逆置（行变列，列变行）
reverse(int arr[][5], int line)
{
	for (int a = 0; a < 5; a++)//行
	{
		for (int b = 0; b < line; b++)//列
		{
			printf("%d ", arr[b][a]);
		}
		printf("\n");//每打印完一行就换行
	}
	printf("\n");
}

int main()
{
	int arr[] = { 2,4,6,8,10,12,14,16,18 };
	//计算数组有多少个元素
	int sz = sizeof(arr) / sizeof(arr[0]);
	//1.打印原数组的每个元素
	printf("=======arr原数组的元素为=======\n");
	print(arr,sz);
   //2.初始化数组为全0
	printf("=======arr初始化后数组的元素为=======\n");
	init(arr,sz);
    print(arr, sz);

	//3.数组的逆置
	int arr2[][5] = {{11,22,33,44,55},{55,44,33,22,11},{99,88,77,66,55}};
	int sz2 = sizeof(arr2) / sizeof(arr2[0][0]);//长度
	int line = sz2 / 5;//行数
	printf("=======arr2原数组的元素为=======\n");
	print2(arr2,line );
	printf("=======arr2逆置后数组的元素为=======\n");
	reverse(arr2, line);

	return 0;
}